新人報到第一天,看著 Repo 裡的 README 一步步下指令,結果第一步 npm install 或是 docker-compose up 就直接噴滿螢幕紅字。跑去問旁邊的資深前輩,前輩才慢悠悠地說:「喔,那個文件很久沒更新了,你要去跟隔壁部門拿一個祖傳的 .env 檔,然後某個套件要降版才能跑。」
我看過最扯的專案,啟動前竟然要新人手動去改本機的 /etc/hosts,甚至還要連上某個已經離職兩年的工程師架在自己桌機上的跳板機。
新人光是把專案跑起來、看到畫面上的 Hello World,就花了整整三個工作天。在這個過程中,他瘋狂地在 Slack 上到處求救、拜託前輩施捨一點 Domain Knowledge。等到環境終於建起來,準備開始寫第一行 Code 的時候,他對這間公司的熱情跟信任早就已經被這些爛設定給磨光了。
不要再依賴工程師的記憶力跟口頭交接了。把環境建置自動化,是每一個 Tech Lead 最基本的道德底線。
DevContainers / 完全 Docker 化
拒絕「在我電腦上明明可以跑」的幹話。把所有的依賴環境、Node 版本、資料庫連線,全部寫死在 Dockerfile 或是 .devcontainer 裡。新人把 Code clone 下來,打一行指令,環境就必須長得跟 Production 一模一樣。
強制環境變數檢查腳本
不要讓新人跑到結帳流程才發現少了一個 API Key。寫一個 make setup 啟動腳本,專案跑起來的第一秒,自動去 validate 本機的 .env 檔。缺了哪個 key、哪個格式不對,直接噴 Error 告訴他去密碼管理器(如 1Password)的哪個路徑拿。